<ion-header>
    <ion-navbar core-back-button>
        <ion-title>
            <img *ngIf="event && event.moduleIcon" src="{{event.moduleIcon}}" alt="" role="presentation" class="core-module-icon">
            <core-icon *ngIf="event && event.eventIcon && !event.moduleIcon" [name]="event.eventIcon" item-start></core-icon>
            <core-format-text *ngIf="event" [text]="event.name" [contextLevel]="event.contextLevel" [contextInstanceId]="event.contextInstanceId"></core-format-text>
        </ion-title>
        <ion-buttons end>
            <!-- The context menu will be added in here. -->
        </ion-buttons>
    </ion-navbar>
</ion-header>
<core-navbar-buttons end>
    <core-context-menu>
        <core-context-menu-item [hidden]="isSplitViewOn || !eventLoaded || (!hasOffline && !event.deleted) || !isOnline"  [priority]="400" [content]="'core.settings.synchronizenow' | translate" (action)="doRefresh(null, $event, true)" [iconAction]="syncIcon" [closeOnClick]="false"></core-context-menu-item>
        <core-context-menu-item [hidden]="!canEdit || !event || !event.canedit || event.deleted" [priority]="300" [content]="'core.edit' | translate" (action)="openEdit()" [iconAction]="'create'"></core-context-menu-item>
        <core-context-menu-item [hidden]="!canDelete || !event || !event.candelete || event.deleted" [priority]="200" [content]="'core.delete' | translate" (action)="deleteEvent()" [iconAction]="'trash'"></core-context-menu-item>
        <core-context-menu-item [hidden]="!event || !event.deleted" [priority]="200" [content]="'core.restore' | translate" (action)="undoDelete()" [iconAction]="'undo'"></core-context-menu-item>
    </core-context-menu>
</core-navbar-buttons>
<ion-content>
    <ion-refresher [enabled]="eventLoaded" (ionRefresh)="doRefresh($event)">
        <ion-refresher-content pullingText="{{ 'core.pulltorefresh' | translate }}"></ion-refresher-content>
    </ion-refresher>
    <core-loading [hideUntil]="eventLoaded">
        <!-- There is data to be synchronized -->
        <ion-card class="core-warning-card" icon-start *ngIf="hasOffline || event.deleted">
            <ion-icon name="warning"></ion-icon> {{ 'core.hasdatatosync' | translate:{$a: 'addon.calendar.calendarevent' | translate} }}
        </ion-card>

        <ion-card>
            <ion-card-content *ngIf="event">
                <ion-item text-wrap *ngIf="isSplitViewOn">
                    <img *ngIf="event.moduleIcon" src="{{event.moduleIcon}}" item-start alt="" role="presentation" class="core-module-icon">
                    <core-icon *ngIf="event.eventIcon && !event.moduleIcon" [name]="event.eventIcon" item-start></core-icon>
                    <h2>{{ 'addon.calendar.eventname' | translate }}</h2>
                    <p><core-format-text [text]="event.name" [contextLevel]="event.contextLevel" [contextInstanceId]="event.contextInstanceId"></core-format-text></p>
                    <ion-note item-end *ngIf="event.deleted">
                        <ion-icon name="trash"></ion-icon> {{ 'core.deletedoffline' | translate }}
                    </ion-note>
                </ion-item>
                <ion-item>
                    <h2>{{ 'addon.calendar.when' | translate }}</h2>
                    <p [innerHTML]="event.formattedtime"></p>
                    <ion-note item-end *ngIf="!isSplitViewOn && event.deleted">
                        <ion-icon name="trash"></ion-icon> {{ 'core.deletedoffline' | translate }}
                    </ion-note>
                </ion-item>
                <ion-item>
                    <h2>{{ 'addon.calendar.eventtype' | translate }}</h2>
                    <p>{{ 'addon.calendar.type' + event.formattedType | translate }}</p>
                </ion-item>
                <a ion-item text-wrap *ngIf="courseName" [href]="courseUrl" core-link capture="true">
                    <h2>{{ 'core.course' | translate}}</h2>
                    <p><core-format-text [text]="courseName" contextLevel="course" [contextInstanceId]="courseId"></core-format-text></p>
                </a>
                <ion-item text-wrap *ngIf="groupName">
                    <h2>{{ 'core.group' | translate}}</h2>
                    <p>{{ groupName }}</p>
                </ion-item>
                <a ion-item text-wrap *ngIf="categoryPath">
                    <h2>{{ 'core.category' | translate}}</h2>
                    <p><core-format-text [text]="categoryPath" contextLevel="coursecat" [contextInstanceId]="event.category.id"></core-format-text></p>
                </a>
                <ion-item text-wrap *ngIf="event.description">
                    <h2>{{ 'core.description' | translate}}</h2>
                    <p>
                        <core-format-text [text]="event.description" [contextLevel]="event.contextLevel" [contextInstanceId]="event.contextInstanceId"></core-format-text>
                    </p>
                </ion-item>
                <ion-item text-wrap *ngIf="event.location">
                    <h2>{{ 'core.location' | translate}}</h2>
                    <p>
                        <a [href]="event.encodedLocation" core-link auto-login="no">
                            <core-format-text [text]="event.location" [contextLevel]="event.contextLevel" [contextInstanceId]="event.contextInstanceId"></core-format-text>
                        </a>
                    </p>
                </ion-item>
                <ion-item *ngIf="moduleUrl">
                    <a ion-button block color="primary" [href]="moduleUrl" core-link capture="true">{{ 'addon.calendar.gotoactivity' | translate }}</a>
                </ion-item>
            </ion-card-content>
        </ion-card>

        <ion-card list *ngIf="notificationsEnabled">
            <ion-item>
                <h2>{{ 'addon.calendar.reminders' | translate }}</h2>
            </ion-item>
            <ng-container *ngFor="let reminder of reminders">
                <ion-item  text-wrap *ngIf="reminder.time > 0 || defaultTime > 0" [class.item-dimmed]="(reminder.time == -1 ? (event.timestart - defaultTime) : reminder.time) <= currentTime" >
                    <p *ngIf="reminder.time == -1">{{ 'core.defaultvalue' | translate :{$a: ((event.timestart - defaultTime) * 1000) | coreFormatDate } }}</p>
                    <p *ngIf="reminder.time > 0">{{ reminder.time * 1000 | coreFormatDate }}</p>
                    <button ion-button icon-only clear="true" (click)="cancelNotification(reminder.id, $event)" [attr.aria-label]=" 'core.delete' | translate" item-end *ngIf="(reminder.time == -1 ? (event.timestart - defaultTime) : reminder.time) > currentTime">
                        <ion-icon name="trash" color="danger"></ion-icon>
                    </button>
                </ion-item>
            </ng-container>

            <ng-container *ngIf="event.timestart + event.timeduration > currentTime">
                <ion-item>
                    <button ion-button block color="primary" (click)="notificationPicker.open()">
                        {{ 'addon.calendar.setnewreminder' | translate }}
                    </button>
                </ion-item>
                <ion-datetime #notificationPicker hidden [(ngModel)]="notificationTimeText" [displayFormat]="notificationFormat" [min]="notificationMin" [max]="notificationMax" [doneText]="'core.add' | translate"(ionChange)="addNotificationTime()"></ion-datetime>
            </ng-container>
        </ion-card>
    </core-loading>
</ion-content>
